SQL 經典實例

SQL 經典實例

作者: [美]安東尼·莫利納羅
出版社: 人民郵電
出版在: 2018-07-01
ISBN-13: 9787115484208
ISBN-10: 7115484201
裝訂格式: 平裝
總頁數: 475 頁




內容描述


本書詳細介紹了各種數據庫的SQL查詢技術和一些基礎的SQL查詢語句,並且通過實例操作的方式講解瞭如何插入、更新和刪除數據等相關知識。另外,本書還介紹瞭如何使用SQL語句進行日期處理,以及一些其他的SQL語句查詢操作,能夠幫助你掌握相關的SQL知識。


目錄大綱


前言........................xi 
第1章檢索記錄................... .1 
1.1檢索所有行和列.............1 
1.2篩選行.......2 
1.3查找滿足多個查詢條件的行........ .......2 
1.4篩選列.......3 
1.5創建有意義的列名.........3 
1.6在WHERE子句中引用別名列..... ..........4 
1.7串聯多列的值.................5 
1.8在SELECT語句裡使用條件邏輯....... ..6 
1.9限定返回行數.................6 
1.10隨機返回若干行記錄...8 
1.11查找Null值.......... .......9 
1.12把Null值轉換為實際值.................10 
1.13查找匹配項............ .....10 
第2章查詢結果排序.........12 
2.1以指定順序返回查詢結果.................12 
2.2多字段排序....................13 
2.3依據子串排序...............14
2.4對含有字母和數字的列排序.............15 
2.5排序時對Null值的處理................... 17 
2.6依據條件邏輯動態調整排序項.........23 
第3章多表查詢..................25 
3.1疊加兩個行集...............25 
3.2合併相關行....................27 
3.3查找兩個表中相同的行.....................28 
3.4查找只存在於一個表中的數據.........30 
3.5從一個表檢索與另一個表不相關的行.................33 
3.6新增連接查詢而不影響其他連接查詢................ .34 
3.7確定兩個表是否有相同的數據.........36 
3.8識別並消除笛卡兒積...42 
3.9組合使用連接查詢與聚合函數........ .44 
3.10組合使用外連接查詢與聚合函數...48 
3.11從多個表中返回缺失值...................51 
3.12在運算和比較中使用Null ..............54 
第4章插入、更新和刪除......................56 
4.1插入新記錄....................57 
4.2插入默認值....................57
4.3使用Null覆蓋默認值.58 
4.4複製數據到另一個表...59 
4.5複製表定義....................59 
4.6多表插入.. .....................60 
4.7禁止插入特定列...........62 
4.8更新記錄........ ...............63 
4.9當相關行存在時更新記錄.................64 
4.10使用另一個表的數據更新記錄.......64 
4.11合併記錄.....................67 
4.12刪除全表記錄........... ..69 
4.13刪除指定記錄.............69 
4.14刪除單行記錄.............69 
4.15刪除違反參照完整性的記錄... ........70 
4.16刪除重複記錄.............70 
4.17刪除被其他表參照的記錄............... 72 
第5章元數據查詢.............74 
5.1列舉模式中的表...........74 
5.2列舉字段........ ...............75 
5.3列舉索引列....................76 
5.4列舉約束...... .................77
5.5列舉非索引外鍵...........78 
5.6用SQL生成SQL .........81 
5.7描述Oracle數據字典視圖........... .....83 
第6章字符串處理.............85 
6.1遍歷字符串.................... 85 
6.2嵌入引號.......................87 
6.3統計字符出現的次數...88 
6.4刪除不想要的字符...... .89 
6.5分離數字和字符數據...91 
6.6判斷含有字母和數字的字符串.........94 
6.7提取姓名的首字母.......99 
6.8按照子字符串排序.....102 
6.9根據字符串裡的數字排序...............103 
6.10創建分隔列表...........109 
6.11分隔數據轉換為多值IN列表.......114 
6.12按字母表順序排列字符.................119 
6.13識別字符串裡的數字字符... ..........124 
6.14提取第n個分隔子字符串.............130 
6.15解析IP地址............ .136 
第7章數值處理...............139
7.1計算平均值.................139 
7.2查找最小值和最大值.141 
7.3求和.......142 
7.4計算行數.... .................144 
7.5計算非Null值的個數.....................146 
7.6累計求和.....................146 
7.7計算累計乘積.............149 
7.8計算累計差.... .............151 
7.9計算眾數.....................152 
7.10計算中位數..... ..........155 
7.11計算百分比...............158 
7.12聚合Null列.............160 
7.13計算平均值時去掉最大值和最小值.................161 
7.14將含有字母和數字的字符串轉換為數字.........163 
7.15修改累計值...............165 
第8章日期運算................168 
8.1年月日加減法.. ...........168 
8.2計算兩個日期之間的天數...............170 
8.3計算兩個日期之間的工作日天數.. .172
8.4計算兩個日期之間相差的月份和年份...............176 
8.5計算兩個日期之間相差的秒數、分鐘數和小時數..... ............178 
8.6統計一年中有多少個星期一...........180 
8.7計算當前記錄和下一條記錄之間的日期差.. .....191 
第9章日期處理................196 
9.1判斷閏年................... ..196 
9.2計算一年有多少天.....203 
9.3從給定日期值裡提取年月日時分秒...................205 
9.4計算一個月的第一天和最後一天...207 
9.5列出一年中所有的星期五...............209 
9.6找出當前月份的第一個和最後一個星期一.......216 
9.7生成日曆.....................222 
9.8列出一年中每個季度的開始日期和結束日期...239 
9.9計算一個季度的開始日期和結束日期...............243 
9.10填補缺失的日期.......249 
9.11依據特定時間單位檢索數據.........258 
9.12比較特定的日期要素.....................259 
9.13識別重疊的 期區間.....................262
第10章區間查詢.............268 
10.1定位連續的值區間...268 
10.2計算同一組或分區的行之間的差.273 
10.3定位連續值區間的開始值和結束值.................281 
10.4為值區間填充缺失值..................... 285 
10.5生成連續的數值.......289 
第11章高級查詢.............293 
11.1結果集分頁............. ..293 
11.2跳過n行記錄...........296 
11.3在外連接查詢裡使用OR邏輯.......298 
11.4識別互逆的記錄....... 301 
11.5提取最靠前的n行記錄.................302 
11.6找出最大和最小的記錄.............. ...304 
11.7查詢未來的行...........305 
11.8行值輪轉....................308 
11.9對結果排序...............311 
11.10刪除重複項.............312 
11.11查找騎士值............ .314 
11.12生成簡單的預測.....321 
第12章報表和數據倉庫......................329
12.1變換結果集成一行...329 
12.2變換結果集成多行...331 
12.3反向變換結果集.......339 
12.4反向變換結果集成一列.......... .......340 
12.5刪除重複數據...........343 
12.6變換結果集以實現跨行計算.........346 
12.7創建固定大小的數據桶. ................347 
12.8創建預定數目的桶...351 
12.9創建水平直方圖.......355 
12.10創建垂直直方圖..... 357 
12.11返回非分組列.........360 
12.12計算簡單的小計.....365 
12.13計算所有可能的表達式組合的小計........... ....368 
12.14識別非小計行.........377 
12.15使用CASE表達式標記行數據.....379 
12.16創建稀疏矩陣.........380 
12.17按照時間單位分組.382 
12.18多維度聚合運算.....385 
12.19動態區間聚合運算.387 
12.20變換帶有小計的結果集...............394 
第13章層次查詢.............398 
13.1展現父子關係...........399
13.2展現祖孫關係...........402 
13.3創建層次視圖...........407 
13.4找出給定的父節點對應的所有子節點.... .........414 
13.5確認葉子節點、分支節點和根節點.................418 
第14章雜項........ ..............426 
14.1使用SQL Server的PIVOT操作符創建交叉報表..................426 
14.2使用SQL Server的UNPIVOT操作符逆向轉換交叉報表......428 
14.3使用Oracle的MODEL子句變換結果集.............430 
14.4從不固定位置提取字符串的元素.433 
14.5計算一年有多少天...436 
14.6查找含有數字和字母的字符串.....437 
14.7在Oracle中把整數轉換成二進制............... .....439 
14.8變換已排名的結果集.....................442 
14.9為兩次變換後的結果集增加列標題... ..............445 
14.10在Oracle中把標量子查詢轉換為複合子查詢....................456 
14.11解析串行化的數據.458 
14.12計算比重.................462
14.13從Oracle中生成CSV格式的輸出................464 
14.14找出不匹配某個格式的文本.......469 
14.15使用內嵌視圖轉換數據...............471 
14.16測試一組數據中是否存在某個值...................472 
附錄A窗口函數簡介1 .....476 
附錄B重溫Rozenshtein .....................500


作者介紹


作者:[美]安東尼·莫利納羅(Anthony Molinaro)譯者:劉春輝
安東尼·莫利納羅(Anthony Molinaro),專精SQL技術,擅長解決棘手的SQL問題,對關係理論有深入研究。




相關書籍

DBA 攻堅指南:左手 Oracle,右手 MySQL

作者 葉 樺 徐 浩 張夢穎 應以峰

2018-07-01

Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL

作者 Joe Celko

2018-07-01

Expert Consolidation in Oracle Database 12c (Paperback)

作者 Martin Bach

2018-07-01